import { defineConfig, loadEnv } from 'vite'
import vue from '@vitejs/plugin-vue'
import { resolve } from 'path'

// 配置文档：https://vitejs.dev/config/
export default defineConfig((mode)=>{
    const config = loadEnv(mode,'./env')
    const pathResolve = (dir: string) => resolve(__dirname, dir)
    return {
          plugins: [vue()],
          envDir: './',
          base:'./',
          define: {},
          server:{
            port:'8085',
            host:true,
            open:false,
            cors:true,
            proxy: {
                '/api':{
                    target: config.VITE_BASIC_URL,    // 后台服务地址
                    changeOrigin: true, // 是否允许不同源
                    secure: true,      // 支持https
                    rewrite: (path) => path.replace(/^\/api/, '')
                }
            }
          },
        // build配置
        build:{
            outDir: 'dist',
            terserOptions: {
                compress: {
                    keep_infinity: true,  // 防止 Infinity 被压缩成 1/0，这可能会导致 Chrome 上的性能问题
                    drop_console: true,   // 生产环境去除 console
                    drop_debugger: true   // 生产环境去除 debugger
                },
            },
            // chunkSizeWarningLimit: 1500   // chunk 大小警告的限制（以 kbs 为单位）
        },
        // 解析路径配置
          resolve:{
            alias:{
                '@': pathResolve('./src'),
                views: pathResolve('./src/views'), 
                components: pathResolve('./src/components'),
                assets: pathResolve('./src/assets'),
            }
          }
    }
})
